home *** CD-ROM | disk | FTP | other *** search
- GBMV(3F) Last changed: 11-2-98
-
-
- NNAAMMEE
- SSGGBBMMVV, DDGGBBMMVV, CCGGBBMMVV, ZZGGMMBBVV - Multiplies a real or complex vector by a
- real or complex general band matrix
-
- SSYYNNOOPPSSIISS
- Real
- CCAALLLL SSGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
- _i_n_c_y))
-
- Double precision
-
- CCAALLLL DDGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
- _i_n_c_y))
-
- Complex
-
- CCAALLLL CCGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
- _i_n_c_y))
-
- Double complex
-
- CCAALLLL ZZGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
- _i_n_c_y))
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- IRIX systems
-
- DDEESSCCRRIIPPTTIIOONN
- SSGGBBMMVV and DDGGBBMMVV multiply a real vector by a real general band matrix.
-
- CCGGBBMMVV and ZZGGBBMMVV multiply a complex vector by a complex general band
- matrix.
-
- These routines perform one of the following matrix-vector operations:
-
- _y <- _a_l_p_h_a _A_x + _b_e_t_a _y
-
- _T
- _y <- _a_l_p_h_a _A _x + _b_e_t_a _y
-
- _H
- _y <- _a_l_p_h_a _A _x + _b_e_t_a _y
-
- where
-
- * where _a_l_p_h_a and _b_e_t_a are scalars,
-
- * _x and _y are vectors
-
- * _A is an _m-by-_n band matrix with _k_l subdiagonals and _k_u
- superdiagonals
- _T
- * _A is the transpose of _A
- _H
- * _A is the conjugate transpose of _A
-
- These routines have the following arguments:
-
- _t_r_a_n_s Character*1. (input)
- Specifies the operation to be performed:
-
-
-
- _t_r_a_n_s = 'N' or 'n': _y <- _a_l_p_h_a _A_x + _b_e_t_a _y
-
- _T
- _t_r_a_n_s = 'T' or 't': _y <- _a_l_p_h_a _A _x + _b_e_t_a _y
-
- _T
- _t_r_a_n_s = 'C' or 'c': _y <- _a_l_p_h_a _A _x + _b_e_t_a _y (SSGGBBMMVV, DDGGBBMMVV),
- or
- _H
- _y <- _a_l_p_h_a _A _x + _b_e_t_a _y (CCGGBBMMVV, ZZGGBBMMVV)
-
- _m Integer. (input)
- Specifies the number of rows in matrix _A. _m >= 0.
-
- _n Integer. (input)
- Specifies the number of columns in the matrix _A. _n >= 0.
-
- _k_l Integer. (input)
- Specifies the number of subdiagonals of matrix _A. _k_l >= 0.
-
- _k_u Integer. (input)
- Specifies the number of superdiagonals of matrix _A. _k_u >=
- 0.
-
- _a_l_p_h_a Scalar alpha. (input)
- SSGGBBMMVV: Real.
- DDGGBBMMVV: Double precision.
- CCGGBBMMVV: Complex.
- ZZGGBBMMVV: Double complex.
-
- _a Array of dimension (_l_d_a,_n). (input)
- SSGGBBMMVV: Real array.
- DDGGBBMMVV: Double precision array.
- CCGGBBMMVV: Complex array.
- ZZGGBBMMVV: Double complex array.
-
- Before entry, the leading (_k_l+_k_u+1)-by-_n part of array _a
- must contain the matrix of coefficients, supplied
- column-by-column, with the leading diagonal of the matrix in
- row (_k_u+1) of the array, the first superdiagonal starting at
- position 2 in row _k_u, the first subdiagonal starting at
- position 1 in row (_k_u+2), and so on. Elements in array _a
- that do not correspond to elements in the band matrix (such
- as the top left _k_u-by-_k_u triangle) are not referenced.
-
- See the NOTES section for an example of Fortran code that
- transfers a band matrix from conventional full matrix
- storage to band storage.
-
- _l_d_a Integer. (input)
- Specifies the first dimension of _a as declared in the
- calling program. _l_d_a >= (_k_l+_k_u+1).
-
- _x Array of dimension 1+(_n-1) * |_i_n_c_x| when _t_r_a_n_s = * |_i_n_c_x|
- otherwise. (input)
- SSGGBBMMVV: Real array.
- DDGGBBMMVV: Double precision array.
- CCGGBBMMVV: Complex array.
- ZZGGBBMMVV: Double complex array.
- Contains the vector _x. When _t_r_a_n_s = 'N' or 'n', _k_x is _n;
- otherwise, it is _m.
-
- _i_n_c_x Integer. (input)
- Specifies the increment for the elements of _x. _i_n_c_x must
- not be 0.
-
- _b_e_t_a Scalar beta. (input)
- SSGGBBMMVV: Real.
- DDGGBBMMVV: Double precision.
- CCGGBBMMVV: Complex.
- ZZGGBBMMVV: Double complex.
- When _b_e_t_a is supplied as 0, _y need not be set on input.
-
- _y Array of dimension 1+(_m-1) * |_i_n_c_y| when _t_r_a_n_s = *
- otherwise. (input and output)
- SSGGBBMMVV: Real array.
- DDGGBBMMVV: Double precision array.
- CCGGBBMMVV: Complex array.
- ZZGGBBMMVV: Double complex array.
- Contains the vector _y. When _t_r_a_n_s = 'N' or 'n', _k_y is _m;
- otherwise, it is _n. On exit, the updated vector overwrites
- array _y.
-
- _i_n_c_y Integer. (input)
- Specifies the increment for the elements of _y.
- _i_n_c_y must not be 0.
-
- NNOOTTEESS
- The following program segment transfers a band matrix from
- conventional full matrix storage to band storage:
-
- DO 20, J = 1, N
- K = KU + 1 - J
- DO 10, I = MAX(1, J - KU), MIN(M, J + KL)
- A(K + I, J) = MATRIX(I, J)
- 10 CONTINUE
- 20 CONTINUE
-
- SSGGBBMMVV, DDGGBBMMVV, ZZGGBBMMVV and CCGGBBMMVV are Level 2 Basic Linear Algebra
- Subprograms (Level 2 BLAS).
-
- When working backward (_i_n_c_x < 0 or _i_n_c_y < 0), each routine starts at
- the end of the vector and moves backward, as follows:
-
- _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)) , ..., _x(1)
-
- _y(1-_i_n_c_y * (_n-1)), _y(1-_i_n_c_y * (_n-2)) , ..., _y(1)
-
- SSEEEE AALLSSOO
- This man page is available only online.
-